#include <pthread.h>
#include <iostream>
#include <unistd.h>
#include <mutex>

using namespace std;

int main()
{

    return 0;
}


// int ticket = 10;
// pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; 


// void* func(void* args)
// {
//     string name = (char*)args;
//     pthread_mutex_lock(&mutex);
//     while(ticket > 0)
//     {
//         cout << name <<" get " << ticket <<  endl;
//         ticket--;
//         pthread_mutex_unlock(&mutex);
//         sleep(1);
//     }
//     return nullptr;
// }

// int main()
// {
//     pthread_t threads[10];
//     for(int i = 0 ; i < 10 ; ++i)
//     {
//         string name = "thread-" + to_string(i + 1);
//         pthread_create(&threads[i],nullptr,func,(void*)name.c_str());
//     }
    
//     for(int i = 0 ; i < 10 ;++i)
//     {
//         pthread_join(threads[i],nullptr);
//     }

// }